home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / Holiday.zprx < prev    next >
Text File  |  1995-03-09  |  4KB  |  134 lines

  1. /*
  2.    Holiday.zp 1.0 (13.2.94) by Ueli Kaufmann
  3.    ARexx Skript für Zodiac's Point V37.118ß
  4.  
  5. Zweck:
  6. ------
  7.  Versendet automatisch Replys auf PMs.
  8. */
  9.  
  10.  
  11.  /* Name fuer die Adressen-Datei                           */
  12.  /* in dieser datei stehen die Adressen, an die keine Info */
  13.  /* verschickt werden soll. Sinnvoll bei Mailer-Infos, etc */
  14. adFile  = 'ZP:holiday_ad.zp'
  15.  
  16.  /* Name fuer die ID-Datei (wird automatisch erstellt.)     */
  17.  /* In dieser Datei werden die IDs der bereits bearbeiteten */
  18.  /* PMs gespeichert. Schuetzt ausserdem gegen Dupes         */
  19. idFile  = 't:holiday_id.zp'
  20.  
  21.  /* Name fuer die tmp-Datei (wird automatisch erstellt.) */
  22.  /* Da WRITEMESSAGE die zu verschickende Datei loescht,  */
  23.  /* muessen wir eine Temporaer-Datei anlegen.            */
  24. tmpFile = 't:holiday.tmp'
  25.  
  26.  /* Name fuer die Text-Datei */
  27.  /* in dieser Datei steht der bei Abwesenheit zu versendende Text */
  28. txtFile = 'ZP:holiday_txt.zp'
  29.  
  30.  
  31.  
  32. parse arg zpPort        /* ZP-Port Name als Option erhalten. */
  33. if zpPort == "" then    /* Wirklich? */
  34.    zpPort = "ZPoint"    /* Ätschi-Bätschi */
  35.  
  36.  
  37. address value zpPort    /* fuer die hardcore-user mit mehreren zps ;) */
  38. options results
  39.  
  40.  
  41. if ~open('fhid',idFile,append) then       /* ID-Datei oeffnen */
  42. do
  43.    say "! ID-Datei" idFile "konnte nicht geoeffnet werden."
  44.    exit(5)
  45. end
  46.  
  47. if ~open('fhad',adFile,read) then         /* Adress-datei oeffnen */
  48. do
  49.    dummy = close('idfile')
  50.    say "! Adressen-Datei" adFile "konnte nicht geoeffnet werden."
  51.    exit(5)
  52. end
  53.  
  54.  
  55. WHICHLEVEL
  56. if RESULT ~= "BOARDMENU" then
  57.    BOARDMENU
  58.  
  59. JUMPTOBOARD 3           /* Balken aufs PM-Brett stellen. */
  60.  
  61. COUNT New               /* neue Nachrichten zaehlen */
  62. if RESULT = 0 then
  63. do
  64.    say "> Keine neuen Nachrichten im PM."
  65.    exit(0)
  66. end
  67.  
  68. ENTERBOARD              /* ins Brett einsteigen */
  69.  
  70. do forever
  71.    MESSAGEINFO id
  72.    msgID = RESULT
  73.  
  74.    MESSAGEINFO Author
  75.    msgAuthor = RESULT
  76.  
  77.    MESSAGEINFO Subject
  78.    msgSubj = RESULT
  79.  
  80.    dummy = seek('fhad',0,'B')        /* muessen wir den Absender beachten? */
  81.    do forever
  82.       instring=readln('fhad')
  83.       if instring == msgAuthor then  /* Nein. */
  84.       do
  85.          say ">" msgAuthor "steht im exeption-file."
  86.          leave
  87.       end
  88.  
  89.       if eof('fhad') then              /* Datei-Ende ereicht? */
  90.       do                               /* Ja. */
  91.          dummy = seek('fhid',0,'B')    /* haben wir fuer diese Nachricht */
  92.          do forever
  93.             instring=readln('fhid')    /* bereits ein Vertroester verschickt? */
  94.             if instring == msgID then  /* Ja! */
  95.             do
  96.                say "> Vertroester fuer >>" || msgSubj || "<< bereits verschickt."
  97.                leave
  98.             end
  99.  
  100.             if eof('fhid') then             /* Datei-Ende ereicht? */
  101.             do                              /* Ja. Vertroester abschicken */
  102.                address command "copy" txtFile "to" tmpFile "quiet"
  103.  
  104.                msgAuthor = 'RECEIVER "'msgAuthor'"'
  105.                msgSubj   = 'SUBJECT "'msgSubj'"'
  106.                WRITEMESSAGE tmpFile msgAuthor msgSubj
  107.                if rc ~= 0 then              /* Erfolgreich? */
  108.                do
  109.                   say "* Vertroester erfolgreich verschickt."
  110.                   dummy = writeln('fhid',msgID) /* Ja, msg-ID abspeichern. */
  111.                end
  112.                else
  113.                   say "! Fehler beim Vertroester verschicken."
  114.  
  115.                leave
  116.             end
  117.          end
  118.  
  119.          leave
  120.       end
  121.    end
  122.  
  123.    JUMPTONEW down
  124.    if rc = 0 then
  125.       leave
  126.  
  127.    dummy = seek('fhad',0,'B')
  128. end
  129.  
  130. dummy = close('idfile')
  131. dummy = close('adfile')
  132.  
  133. exit
  134.